// 页面加载完成后执行
$(document).ready(function() {
    // 1. 导航栏切换功能
    $('#basic, #security, #notification, #billing, #authorization').hide();
    $('#basic').show();
    
    $('a[href="#basic"]').click(function(e) {
        e.preventDefault();
        switchTab('basic');
    });
    
    $('a[href="#security"]').click(function(e) {
        e.preventDefault();
        switchTab('security');
    });
    
    $('a[href="#notification"]').click(function(e) {
        e.preventDefault();
        switchTab('notification');
    });
    
    $('a[href="#billing"]').click(function(e) {
        e.preventDefault();
        switchTab('billing');
    });
    
    $('a[href="#authorization"]').click(function(e) {
        e.preventDefault();
        switchTab('authorization');
    });
    
    // 2. 表单提交处理
    $('form').submit(function(e) {
        e.preventDefault();
        showToast('基本信息保存成功', 'success');
    });
    
    // 3. 按钮点击事件处理
    // 查看认证详情
    $('button:contains("查看认证详情")').click(function() {
        showToast('加载认证详情中...', 'info');
        // 实际项目中这里会发起AJAX请求获取详情
    });
    
    // 更新认证信息
    $('button:contains("更新认证信息")').click(function() {
        showToast('请上传最新的认证材料', 'info');
        // 实际项目中这里会打开文件上传对话框
    });
    
    // 修改密码
    $('button:contains("修改密码")').click(function() {
        const newPassword = prompt('请输入新密码:');
        if (newPassword) {
            showToast('密码修改成功', 'success');
        }
    });
    
    // 更换手机号
    $('button:contains("更换手机号")').click(function() {
        const newPhone = prompt('请输入新手机号:');
        if (newPhone) {
            showToast('手机号更换申请已提交，等待验证', 'info');
        }
    });
    
    // 更换邮箱
    $('button:contains("更换邮箱")').click(function() {
        const newEmail = prompt('请输入新邮箱:');
        if (newEmail) {
            showToast('邮箱更换申请已提交，等待验证', 'info');
        }
    });
    
    // 重置密钥
    $('button:contains("重置密钥")').click(function() {
        if (confirm('确定要重置API密钥吗？重置后旧密钥将失效')) {
            showToast('API密钥已重置', 'success');
            // 实际项目中这里会发起重置密钥的AJAX请求
        }
    });
    
    // 开启保护
    $('button:contains("开启保护")').click(function() {
        $(this).text('关闭保护').removeClass('bg-primary').addClass('bg-gray-100 text-gray-600');
        $(this).closest('div').find('p').text('已开启，新设备登录需验证');
        showToast('登录保护已开启', 'success');
    });
    
    // 关闭保护（动态绑定事件）
    $(document).on('click', 'button:contains("关闭保护")', function() {
        $(this).text('开启保护').removeClass('bg-gray-100 text-gray-600').addClass('bg-primary text-white');
        $(this).closest('div').find('p').text('未开启，开启后新设备登录需验证');
        showToast('登录保护已关闭', 'info');
    });
});

// 切换标签页函数
function switchTab(tabId) {
    // 隐藏所有标签内容
    $('#basic, #security, #notification, #billing, #authorization').hide();
    
    // 显示选中的标签内容
    $('#' + tabId).show();
    
    // 更新导航栏样式
    $('a[href^="#"]').removeClass('text-primary font-medium border-b-2 border-primary').addClass('text-gray-600 hover:text-primary');
    $('a[href="#' + tabId + '"]').removeClass('text-gray-600 hover:text-primary').addClass('text-primary font-medium border-b-2 border-primary');
}

// 提示框函数（复用layout_usercenter.html中的showToast逻辑）
function showToast(message, type = 'info', duration = 3000) {
    // 移除已存在的toast
    $('.toast').remove();
    
    // 定义图标
    const icons = {
        success: 'fa-check-circle',
        error: 'fa-times-circle',
        warning: 'fa-exclamation-triangle',
        info: 'fa-info-circle'
    };
    
    // 创建toast元素
    const toast = $(`
        <div class="toast fixed top-20 left-1/2 transform -translate-x-1/2 bg-white shadow-lg rounded-lg px-4 py-3 flex items-center z-50 transition-all duration-300 opacity-0 translate-y-[-20px]">
            <i class="fa ${icons[type]} mr-2 text-${type === 'success' ? 'green' : type === 'error' ? 'red' : type === 'warning' ? 'yellow' : 'blue'}-500"></i>
            <span>${message}</span>
        </div>
    `);
    
    // 添加到页面
    $('body').append(toast);
    
    // 显示toast
    setTimeout(() => {
        toast.css({ opacity: 1, transform: 'translate(-50%, 0)' });
    }, 10);
    
    // 自动隐藏
    setTimeout(() => {
        toast.css({ opacity: 0, transform: 'translate(-50%, -20px)' });
        setTimeout(() => {
            toast.remove();
        }, 300);
    }, duration);
}


// 企业认证相关功能
$(document).ready(function() {
    // 模态框操作
    const modal = $('#certificationModal');
    // 认证模态框控制
    const $submitModal = $('#certificationSubmitModal');

    // 保存基本信息按钮点击事件
    $('#saveBasicInfoBtn').click(async function() {
        try {
            const params = {
                companyName: $('#companyName').val(),
                industryType: $('#industryType').val(),
                contactName: $('#contactName').val(),
                contactPhone: $('#contactPhone').val(),
                contactEmail: $('#contactEmail').val(),
                companyIntroduction: $('#companyIntroduction').val(),
                companySize: $('#companySize').val(),
            };

            // 验证参数手机号、email格式是否正确
            if (!/^1[3456789]\d{9}$/.test(params.contactPhone)) {
                showToast('手机号格式错误', 'error');
                return;
            }
            if (!/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(params.contactEmail)) {
                showToast('邮箱格式错误', 'error');
                return;
            }
            // 提交到接口保存
            const response = await fetch('/api/company/basic-info', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json',
                    'Authorization': `Bearer ${localStorage.getItem('token')}`
                },
                body: JSON.stringify(params),
                    
            });
            const data = await response.json();
            if (data.status === 0) {
                showToast('基本信息保存成功', 'success');
            } else {
                showToast('基本信息保存失败', 'error');
            }

        } catch (error) {
            showToast('保存基本信息失败', 'error');
        }
    });
    
    // 打开模态框
    $('#certificationBtn').click(function() {
        modal.removeClass('hidden');
        // 添加淡入动画
        setTimeout(() => {
            modal.find('> div').addClass('scale-100 opacity-100');
            modal.find('> div').removeClass('scale-95 opacity-0');
        }, 10);
    });

    $('#certificationStartBtn,#certificationNotBtn').click(function() {
        $submitModal.removeClass('hidden');
        // 添加显示动画
        setTimeout(() => {
            $submitModal.find('.max-w-2xl').addClass('scale-100 opacity-100');
        }, 10);
    });

    // 关闭模态框
    $('.close-certification-modal').click(function() {
        $submitModal.find('.max-w-2xl').removeClass('scale-100 opacity-100');
        setTimeout(() => {
            $submitModal.addClass('hidden');
        }, 200);
    });

    // 点击模态框外部关闭
    $submitModal.click(function(e) {
        if (e.target === this) {
            $('.close-certification-modal').click();
        }
    });
    
    // 关闭模态框的通用函数
    function closeModal() {
        modal.find('> div').removeClass('scale-100 opacity-100');
        modal.find('> div').addClass('scale-95 opacity-0');
        setTimeout(() => {
            modal.addClass('hidden');
        }, 300);
    }
    
    // 关闭模态框按钮
    $('#closeModal, #closeModalBtn').click(closeModal);
    
    // 点击模态框外部关闭
    modal.click(function(e) {
        if (e.target === this) {
            closeModal();
        }
    });
    
    // 更新认证信息按钮
    $('#updateCertification').click(function() {
        // 这里可以添加更新认证信息的逻辑
        showToast('正在加载更新认证信息表单...', 'info');
        
        // 模拟延迟后跳转到更新页面或显示表单
        setTimeout(() => {
            closeModal();
            // 实际应用中这里可能会跳转到新的页面或显示表单
            showToast('请准备最新的认证材料进行更新', 'info');
        }, 1000);
    });

    // 存储上传的文件ID
    let uploadedFileIds = {};

    

    // 表单提交处理
    $('#certificationForm').submit(async function(e) {
        e.preventDefault();

        // 表单验证逻辑（此处省略具体验证代码）

        // 创建FormData对象获取非文件字段
        const formData = new FormData(this);
        const formDataObj = {};
        formData.forEach((value, key) => {
            // 跳过文件字段
            if (!(value instanceof File)) {
                formDataObj[key] = value;
            }
        });

        try {
            // 提交表单数据和文件ID
            const response = await fetch('/usercenter/SubmitCertification', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json',
                    'Authorization': `Bearer ${localStorage.getItem('token')}`
                },
                body: JSON.stringify({
                    ...formDataObj,
                    fileIds: uploadedFileIds // 上传的文件ID
                })
            });
            const data = await response.json();

            if (data.status === 0) {
                showToast('认证信息提交成功', 'success');
                fetchCertificationStatus();
                $('.close-certification-modal').click();
                // 重置上传的文件ID
                uploadedFileIds = {};
            } else {
                showToast('提交认证信息失败: ' + data.message, 'error');
            }
        } catch (error) {
            showToast('提交认证信息失败: ' + error.message, 'error');
        }

    });
    
    // 模拟从服务器获取认证状态
    function fetchCertificationStatus() {
        // 实际应用中这里会有真实的API调用
        setTimeout(() => {
            // 模拟数据
            const statusData = {
                status: 'completed',
                expiry: '2024-12-31',
                creditCode: '91110108**********',
                legalRepresentative: '李四',
                registeredAddress: '北京市海淀区**********',
                certificationTime: '2023-01-15'
            };
            
            // 更新页面显示
            if (statusData.status === 'completed') {
                $('#certificationStatus').text(`已完成企业认证，有效期至 ${statusData.expiry}`);
                $('#modalStatus').removeClass('text-warning danger').addClass('text-success').text('已完成企业认证');
                $('#modalExpiry').removeClass('bg-warning/10 text-warning bg-danger/10 text-danger')
                                .addClass('bg-success/10 text-success')
                                .text(`有效期至 ${statusData.expiry}`);
            } else if (statusData.status === 'pending') {
                $('#certificationStatus').text('认证审核中，请耐心等待');
                $('#certificationBtn').text('查看进度');
                $('#modalStatus').removeClass('text-success danger').addClass('text-warning').text('认证审核中');
                $('#modalExpiry').remove();
            } else {
                $('#certificationStatus').text('认证未通过，请重新提交');
                $('#certificationBtn').text('重新提交');
                $('#modalStatus').removeClass('text-success warning').addClass('text-danger').text('认证未通过');
                $('#modalExpiry').remove();
            }
            
            // 更新模态框详情
            $('#creditCode').text(statusData.creditCode);
            $('#legalRepresentative').text(statusData.legalRepresentative);
            $('#registeredAddress').text(statusData.registeredAddress);
            $('#certificationTime').text(statusData.certificationTime);
        }, 800);
    }
    
    // 页面加载时获取认证状态
    fetchCertificationStatus();

    // 加载用户账户相关信息
    function loadSetting(){
        if (window.userStats && window.userStats.certification) {
            // 已认证
            // 显示认证信息，隐藏开始认证按钮
            $('#certificationNotStart').addClass('hidden');
            $('#certificationInfo').removeClass('hidden');
            // 绑定基本信息标签中相关组件值
            $('#companyName').text(window.userStats.certification.company_name);
            $('#industryType').text(window.userStats.certification.industry_type);
            $('#contactName').text(window.userStats.certification.realname);
            $('#contactPhone').text(window.userStats.certification.contact_phone);
            $('#contactEmail').text(window.userStats.certification.contact_email);
            $('#companySize').val(window.userStats.certification.company_size);
            $('#companyIntroduction').val(window.userStats.certification.company_introduction);  
            // 显示认证相关信息
            $('#certificationNot').addClass('hidden');
            $('#certificationed').removeClass('hidden');
            
            $('#certificationedDesc').removeClass('hidden');
            $('#certificationNotBtn').addClass('hidden');
            $('#certificationedView').removeClass('hidden');
            $('#certificationedRightDesc').removeClass('hidden');       

        } else {
            // 未认证
            // 绑定基本信息标签中相关组件值为默认值
            $('#companyName').val('');
            $('#industryType').val('');
            $('#contactName').val('');
            $('#contactPhone').val('');
            $('#contactEmail').val('');
            $('#companySize').val('');
            $('#companyIntroduction').text('');  

            // 显示开始认证按钮，隐藏认证信息
            $('#certificationNotStart').removeClass('hidden');
            $('#certificationInfo').addClass('hidden');
            // 显示认证相关信息
            $('#certificationed').addClass('hidden');
            $('#certificationedDesc').addClass('hidden');
            $('#certificationNotBtn').removeClass('hidden');
            $('#certificationedView').addClass('hidden');
            $('#certificationedRightDesc').addClass('hidden');

        }
    }
    loadSetting()
});